package com.gxa.hualianeshop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxa.hualianeshop.entity.dto.UserLoginDto;
import com.gxa.hualianeshop.entity.pojo.Spu;
import com.gxa.hualianeshop.entity.pojo.User;
import com.gxa.hualianeshop.entity.vo.UserVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author gxa
 * @since 2023-07-05
 */
public interface UserService extends IService<User> {

    /**
     * 发送短信的方法
     * @param phone 目标手机号
     * @return 短信校验码(开发中用于作弊)
     */
    String sendSMS(String phone);

    /**
     * 通过用户手机号+短信验证码实现登录认证
     * @param userLoginDto 用户基本登录信息的dto对象
     * @return 生成uuid的token(经过加盐)
     */
     String getByPhoneAndCode(UserLoginDto userLoginDto);

    /**
     * 通过token获取用户vo信息
     * @param token 请求中所携带的token(uuid)
     * @return 从redis(分布式session)中解析token获取的用户VO对象
     */
     UserVO getUserVOByToken(String token);

}
